package com.wealth.scsj.p_app.api;


import com.wealth.scsj.p_app.bean.BaseBean;
import com.wealth.scsj.p_app.bean.GetOwnTreasureInfoBean;
import com.wealth.scsj.p_app.bean.QueryCardBean;
import com.wealth.scsj.p_app.bean.SelectUserHasBindBankCardBean;

import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Query;
import rx.Observable;

/**
 * 接口定义
 */
public interface APIService {

    /**
     * 修改登录密码
     */
    @POST("scsj-user/user/updatePassword")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> SetAlterLoginPwd(@Body RequestBody requestBody);

    /**
     * 换绑手机获取验证码
     */
    @POST("scsj-user/user/getChangeBindPhoneCode")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> ChangeBindPhoneCode(@Body RequestBody requestBody);

    /**
     * 验证验证码是否正确
     */
    @POST("scsj-base/sms/verifySmsCode")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> VerifySmsCode(@Body RequestBody requestBody);

    /**
     * 换绑手机号
     */
    @POST("scsj-user/user/changeBindPhone")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> ChangeBindPhone(@Body RequestBody requestBody);

    /**
     * 实名认证
     */
    @POST("scsj-user/user/trueNameSet")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> SetRealName(@Body RequestBody requestBody);

    /**
<<<<<<< HEAD
     * 查询用户已绑定的银行卡
     */
    @POST("scsj-treasure/appUserBankCard/selectUserHasBindBankCard")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxODU2NzU2NTM0NCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMjQyMTY2MDgyOSwiZXhwIjoxNTMzMDI2NDYwfQ.6zgWO0p6goZtl_qPAfXJl2EepATyvvkpCL_K2-g4_t1n10Sj3AHfqDnAfxcd7rr9nZWR5adpNNGx5_fIyBMB5g")
    Observable<SelectUserHasBindBankCardBean> SelectUserHasBindBankCard(@Body RequestBody requestBody);

    /**
     * 买家版钱包界面查询 可查询余额
     */
    @POST("scsj-treasure/appTreasure/getOwnTreasureInfo")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxODU2NzU2NTM0NCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMTkwMDM3ODk0MiwiZXhwIjoxNTMyNTA1MTc4fQ.DDtj782p1-rDJMo5M_4A801bEe8H5cYOvfIRSmI30GAqmGnMFl6jyvXPPNc5VcVCp0UcgFJ4aHASyBNIpfgKCQ")
    Observable<GetOwnTreasureInfoBean> GetOwnTreasureInfo(@Body RequestBody requestBody);

    /**
     <<<<<<< HEAD
     * 提现申请
     */
    @POST("scsj-treasure/appTakeCash/withdrawCash")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxODU2NzU2NTM0NCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMTkwMDM3ODk0MiwiZXhwIjoxNTMyNTA1MTc4fQ.DDtj782p1-rDJMo5M_4A801bEe8H5cYOvfIRSmI30GAqmGnMFl6jyvXPPNc5VcVCp0UcgFJ4aHASyBNIpfgKCQ")
    Observable<BaseBean> WithdrawCash(@Body RequestBody requestBody);
    /*
     * 找回支付密码获取验证码
     */
    @POST("scsj-treasure/appTreasure/getBackPasswordCode")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> GetBackPasswordCode(@Body RequestBody requestBody);

    /**
     * 设置/忘记支付密码
     */
    @POST("scsj-treasure/appTreasure/getBackPassword")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> GetBackPassword(@Body RequestBody requestBody);

    /**
     * 新增收货地址
     */
    @POST("scsj-order/appAddress/addUserDeliveryAddress")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> GetAddDeliveryAddress(@Body RequestBody requestBody);

    /**
     * 阿里的银行卡
     */
    @GET("https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8")
    Observable<QueryCardBean> QueryCard(@Query("cardNo") String cardNum, @Query("cardBinCheck") boolean cardBinCheck);


    /**
     * 发送绑定银行卡验证码
     */
    @POST("scsj-treasure/appUserBankCard/sendBindBankCardCode")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNTUxNTUyMTY1NCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMTgyNTM2OTg0MCwiZXhwIjoxNTMyNDMwMTY5fQ.Xr_yzowXZWGgKTAeapSceHoo_nsWNq0uDjfrs-udZcDwEbiLKtCuHTLCj2q0d9k24H8F50oQtiXwvA080iXlJQ")
    Observable<BaseBean> SendBindBankCardCode(@Body RequestBody requestBody);

    /**
     * 绑定银行卡接口
     */
    @POST("scsj-treasure/appUserBankCard/bindBankCard")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNTUxNTUyMTY1NCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMTgyNTM2OTg0MCwiZXhwIjoxNTMyNDMwMTY5fQ.Xr_yzowXZWGgKTAeapSceHoo_nsWNq0uDjfrs-udZcDwEbiLKtCuHTLCj2q0d9k24H8F50oQtiXwvA080iXlJQ")
    Observable<BaseBean> BindBankCard(@Body RequestBody requestBody);

}
